package com.jiangyao.model.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@ApiModel(value = "组织")
public class OrgInfoDto implements BaseDTO {
    /**
     * 组织id
     */
    @ApiModelProperty(value ="组织id")
    @NotNull(message = "组织id不能为空", groups = {Edit.class})
    private Integer orgId;

    /**
     * 类型 1-学校 2-企业
     */
    @ApiModelProperty(value ="类型 1-学校 2-企业",example = "1")
    @NotNull(message = "组织id不能为空", groups = {Edit.class})
    private Integer orgType;

    /**
     * 组织名称
     */
    @ApiModelProperty(value ="组织名称")
    @NotNull(message = "组织名称不能为空", groups = {Add.class})
    @NotEmpty(message = "组织名称不能为空", groups = {Add.class})
    private String orgName;

    /**
     * 组织logo
     */
    @ApiModelProperty(value ="组织logo")
    private String orgLogo;

    /**
     * 组织简介
     */
    @ApiModelProperty(value ="组织简介")
    private String orgDesc;

    /**
     * 组织标签
     */
    @ApiModelProperty(value ="组织标签")
    private String orgTag;

    /**
     * 官网
     */
    @ApiModelProperty(value ="官网")
    private String orgUrl;

    /**
     * 省
     */
    @ApiModelProperty(value ="省")
    private String province;

    /**
     * 市
     */
    @ApiModelProperty("市")
    private String city;

    /**
     * 区
     */
    @ApiModelProperty(value ="区")
    private String region;

    /**
     * 详细地址
     */
    @ApiModelProperty(value ="详细地址")
    private String address;

    /**
     * 所属行业
     */
    @ApiModelProperty(value ="所属行业")
    private Integer belongIndustry;

    /**
     * 规模-小
     */
    @ApiModelProperty(value ="规模-小")
    @Length(min = 0, message = "规模应大于0", groups = {Add.class,Edit.class})
    private Integer minSize;

    /**
     * 规模-大
     */
    @ApiModelProperty(value ="规模-大")
    @Length(min = 0, message = "规模应大于0", groups = {Add.class,Edit.class})
    private Integer maxSize;

    /**
     * 状态 1-启用 0-禁用
     */
    @ApiModelProperty(value = "状态 1-启用 0-禁用",example = "1")
    private Integer status;

    /**
     * 生成时间
     */
    @ApiModelProperty(value ="生成时间")
    private Date createTime;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value ="最后修改时间")
    private Date updateTime;

    /**
     * 最后修改后台用户ID
     */
    @ApiModelProperty(value ="最后修改后台用户ID")
    private String updateAdminId;
}